﻿
/*
File: IObject.h

Leírás:
A térben jelen lévő, mozgatható objektumok interfésze.

Szerző:
SevN
*/

#ifndef __IOBJECT_H__
#define __IOBJECT_H__

class IObject
{
public:
	// objektum adott pozícióra állítása
	virtual void setPos(const float x, const float y,const float z) = 0;
  virtual void getPos(float& x, float& y, float& z) = 0;

	// objektum adott vektorral eltolása
	virtual void moveVec(const float x, const float y, const float z) = 0;

  virtual void getOrientation(float& yaw, float& pitch, float& roll) = 0;
  
	// objektum függõleges tengely körüli fordítása
	virtual void yaw(const float f) = 0;

	// objektum vízszintes tengly körüli fordítása
	virtual void pitch(const float f) = 0;

	// objektum z-tengely körüli fordítása
	virtual void roll(const float f) = 0;

  
	// objektum függõleges tengely körüli forgatásának beállítása adott értékre
	virtual void setYaw(const float f) = 0;
	virtual float getYaw() = 0;
  
	// objektum vízszintes tengely körüli forgatásának beállítása adott értékre
	virtual void setPitch(const float f) = 0;
	virtual float getPitch() = 0;


	// objektum z-tengely körüli forgatásának beállítása adott értékre
	virtual void setRoll(const float f) = 0;
	virtual float getRoll() = 0;

  virtual void setVisible(const bool b) = 0; 
  virtual bool isVisible() = 0;


};

#endif